iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
Security

三人要保密,一個人要學好資安系列 第 16

DVWA練習-Cross Site Scripting

  • 分享至 

  • xImage
  •  

還在學校上課的時候
某堂課的老師跟我們分享他在準備CEH的考試
老師示範了Cross Site Scripting的攻擊

學習寫Web Javascript以來
我從來沒想過要在input中放入script的內容(乖乖的User思維)
alert彈出來的瞬間
就好像在變魔術一樣非常震撼....原來還有這一招??!
至今依舊難忘


Cross Site Scripting主要分為三種
讓使用者所輸入的資料,使Script被應用執行
得以在他人網站中執行Javascript

  • Reflected Cross Site Scripting
    當在 HTTP 請求中接收數據時
    以不安全的方式在即時回應中包含此數據,就會出現XSS
    直接將使用者填入的資訊回寫至回應中

常見搭配社交工程,配合有問題的連結傳給受害者,讓受害者自行點擊。
回應將於使用者端直接運行script的代碼

由於攻擊者可以控制在受害者瀏覽器中執行的script

  • 可在應用中執行用戶可以執行的任何操作
  • 查看及修改User能夠執行動作的訊息
  • 進行其他的惡意攻擊

表單提示請輸入姓名
嘗試輸入Bill,得到結果如下:
上方網址列顯示為
http://172.17.0.2/vulnerabilities/xss_r/?name=Bill#

<script>alert('xss test')</script>
http://172.17.0.2/vulnerabilities/xss_r/?name=<script>alert('xss test')</script>#

script也可改用16進位的值取代一些關鍵字


  • Stored Cross Site Scripting
    常見於留言板,利用javascript讓輸入的內容儲存在網站資料庫中

於留言板的內容送出
<script>alert('123456')</script>
當下一次點擊至同一畫面時
由於我們送出的script已被儲存
將呈現下圖的結果

  • DOM based Cross Site Scripting

由於我們可以利用DOM(Document Object Model)
使javascript在執行過程中不必透過伺服器也能動態地產生網頁

這類型如使用了innerHTML的語法,造成了script的注入機會
而javascript將惡意的代碼放入DOM中,導致瀏覽器執行此惡意的代碼

  • 常見導致DOM-XS的屬性如:
    element.innerHTML
    document.write()
    document.writeln()
    document.domain

上一篇
DVWA練習-Cross Site Request Forgery
下一篇
Cross site scripting 評估工具-CSP Evaluator
系列文
三人要保密,一個人要學好資安30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言